#ifndef __FixedPipelineShader_h__
#define __FixedPipelineShader_h__

#include "Render/Shader.h"

namespace vital {

	//--------------------------------------------------------------------------
	class TFixedPipelineShader : public IShader {

	public:
		TFixedPipelineShader(unsigned int GLTexId);
		virtual ~TFixedPipelineShader();

		virtual size_t beginRender();

		virtual void beginPass(size_t passId);

		virtual void endPass();

		virtual void endRender();

		bool getUseSmoothShading();
		void setUseSmoothShading(bool value);
		void toggleUseSmoothShading();

		bool getUseTexture();
		void setUseTexture(bool value);
		void toggleUseTexture();

		bool getUseAlphaBlend();
		void setUseAlphaBlend(bool value);
		void toggleUseAlphaBlend();

		float getAlpha();
		void setAlpha(float value);

	private:
		unsigned int mGLTexId;

		float mAlpha;

		bool mUseSmoothShading;
		bool mUseTexture;
		bool mUseAlphaBlend;
	};

}

#endif	// __FixedPipelineShader_h__